KM.Object3D = function( name, geometry, transform, material )
{
    // Description
    this._id = KM.Object3D.objects3DIdCount++;
    this._name = name;
    
    // Tree relations
    this._parent = null;
    this._children = [];
    this._childrenNb = 0;
    
    // Position / Rotation / Scale
    this._transform = transform;
    
    // Vertices / Triangles / Normals
    this._geometry = geometry;
    
    // Material
    this._material = material;
};

KM.Object3D.objects3DIdCount = 0;

KM.Object3D.prototype = {
    constructor: KM.Object3D,
    
    toString: function()
    {
        return "Object3D_" + this._id + " : \n"
        + "\t name => " + this._name + "\n"
        + "\t childrenNb => " + this._childrenNb + "\n"
//        + "\t transform => " + this._transform.toString() + "\n"
//        + "\t geometry => " + this._geometry.toString() + "\n"
        + "\t material => " + this._material.toString() + "\n";
    }
};